import Axios from 'axios';
import store from '../store';
let instance = Axios.create({
    baseURL:'https://api.github.com/users/',
});

// 请求与响应的拦截
instance.interceptors.request.use((config)=>{
    store.dispatch({
        type:'changeLoadingBySelf',
        payload:{
            isloading:true
        }
    });
    // 打开loading
    console.log(config,'req');//  config配置
    return config;
});

instance.interceptors.response.use((response)=>{
    // // 和上面changeLoadingBySelf是一个意思，就是取反而已
    store.dispatch({
        type:'changeLoading'
    });
    // 关闭loading  处理公共的错误代码 code
    console.log(response,'res');// {  config配置 }
    return response;
});


let req = (url,options = {method:'GET'}  )=>{
    return instance({
        url,
        ...options
    });  // 返回的是一个Promise ， then 或者 async await
}

export default req;  // instance.fn(url,options)